﻿/************************************************************************/
/* FileName:        IShapeContainer
 * Author:          Aric.W
 * Created:         2013/9/17 19:22:25
 * Version:         A001
 * Compiler:        Visual Studio 2010
 * Description:     图元容器接口
 * 
 * History:
 * <Author>         <Time>              <Version>   <Desc>
 * Aric.W           2013/9/17 19:22:25  A001        create
/************************************************************************/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Common
{
    public interface IShapeContainer
    {
        /// <summary>
        /// 增加图元
        /// </summary>
        /// <param name="shape">要添加的子图元</param>
        /// <returns>增加成功返回true，否则返回false</returns>
        bool Remove(ShapeBase shape);

        /// <summary>
        /// 删除图元
        /// </summary>
        /// <param name="shape">要删除的子图元</param>
        /// <returns>删除成功返回true，否则返回false</returns>
        bool Add(ShapeBase shape);

        /// <summary>
        /// 清空所有子图元
        /// </summary>
        void Clear();

        /// <summary>
        /// 子图元容器
        /// </summary>
        ShapeBase[] ChildShapes { get; set; }
    }
}
